跳到主要内容

shell 常用


#用shell脚本或命令将/opt目录下的大于15KB的文件都移到/tmp目录下
find /opt -size +15k -exec mv {} /tmp/ \;

#查看网络流量的命令
watch -n 1 "/sbin/ifconfig eth0 | grep bytes"

#统计一下/var/log/nginx/access.log 日志中访问量最多的前十个IP?
cat access_log | awk ‘{print $1}’ | uniq -c|sort -rn|head -10

awk '{print $1}' /var/log/nginx/access.log | sort | uniq -c | sort -nr -k1 | head -n 10

#怎么查看当前系统中每个IP的连接数,
netstat -n | awk '/^tcp/ {print $5}' | awk -F: '{print $1}' | sort | uniq -c| sort –rn

#sort命令:进行排序,-r 反向排序 -n 使用纯数字进行排序
#uniq 将重复的数据仅仅列出一个来显示,uniq -c,进行计数
#awk -F: '{print $1}' 以F 为分界符,取出第一个:之前的数据

#怎么查看当前磁盘的IO,
#iostat 是 sysstat 工具集的一个工具,需要安装
iostat -d -k 1 10
#怎么查看当前网络的IO?
#iotop命令是一个用来监视磁盘I/O使用状况的top类工具。iotop具有与top相似的UI。Linux下的IO统计工具如iostat,nmon等大多数是只能统计到per设备的读写情况,如果你想知道每个进程是如何使用IO的就比较麻烦,使用iotop命令可以很方便的查看。
怎么查看当前网络的IO:

#怎么查看当前系统中每个IP的连接数:
#iftop 查看网络带宽情况(必须从epel源安装)


ss -tnlp | grep :80
lsof -i :80
netstat -tnlp | grep :80
ps -ef | grep mysql

echo "inet addr: 10.0.0.8 Bcast: 10.0.0.255 Mask:255.255.255.0" >> /data/oldboy/oldboy.txt


#把/data目录及其子目录下所有以扩展名.txt结尾的文件中包含oldgirl的字符串全部替换为oldboy
find /data/ -type f -name "*.txt" | xargs sed -i 's/oldgirl/oldboy/g'